[INFO] cloning repository https://github.com/kvc0/protosocket
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kvc0/protosocket" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkvc0%2Fprotosocket", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkvc0%2Fprotosocket'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0235c9b793def0002cb9e927961f4d4f55b15eae
[INFO] fixing kvc0/protosocket against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkvc0%2Fprotosocket" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kvc0/protosocket
[INFO] finished tweaking git repo https://github.com/kvc0/protosocket
[INFO] tweaked toml for git repo https://github.com/kvc0/protosocket written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kvc0/protosocket on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kvc0/protosocket already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df
[INFO] running `Command { std: "docker" "start" "d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating benchmarks/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating spillway/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating example-messagepack/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating protosocket-connection/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating protosocket-messagepack/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating protosocket-rpc/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating level-runtime/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating example-pool/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating protosocket-server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating example-proto/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating protosocket-prost/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating example-proto-tls/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating example-telnet/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling aws-lc-rs v1.15.1
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rustls-pki-types v1.13.1
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking jiff v0.2.16
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking rmp v0.8.14
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking time-core v0.1.6
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking benchmarks v1.1.0 (/opt/rustwide/workdir/benchmarks)
[INFO] [stderr]    Migrating benchmarks/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking criterion-plot v0.8.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling aws-lc-sys v0.34.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking rcgen v0.14.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling prost-derive v0.14.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking prost v0.14.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking zerocopy v0.8.31
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking histogram v0.11.3
[INFO] [stderr]     Checking opentelemetry v0.31.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking rmp-serde v1.3.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking opentelemetry_sdk v0.31.0
[INFO] [stderr]     Checking spillway v1.1.0 (/opt/rustwide/workdir/spillway)
[INFO] [stderr]    Migrating spillway/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking level-runtime v1.1.0 (/opt/rustwide/workdir/level-runtime)
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking criterion v0.8.0
[INFO] [stderr]    Migrating level-runtime/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking tracing-opentelemetry v0.32.0
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tower-http v0.6.7
[INFO] [stderr]    Migrating benchmarks/benches/channel.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benchmarks/benches/safety_perf.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> benchmarks/benches/channel.rs:59:56
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     while let Some(v) = receive.next().await {
[INFO] [stdout]    |                                         ---------------^^^^^
[INFO] [stdout]    |                                         |              |
[INFO] [stdout]    |                                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                         |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 60 |                         i += v;
[INFO] [stdout] 61 |                     }
[INFO] [stdout]    |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> benchmarks/benches/channel.rs:94:56
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     while let Some(v) = receive.next().await {
[INFO] [stdout]    |                                         ---------------^^^^^
[INFO] [stdout]    |                                         |              |
[INFO] [stdout]    |                                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                         |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 95 |                         i += v;
[INFO] [stdout] 96 |                     }
[INFO] [stdout]    |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benchmarks/benches/channel.rs:132:56
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     while let Some(v) = receive.next().await {
[INFO] [stdout]     |                                         ---------------^^^^^
[INFO] [stdout]     |                                         |              |
[INFO] [stdout]     |                                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 133 |                         i += v;
[INFO] [stdout] 134 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking hyper-util v0.1.18
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking tonic v0.14.2
[INFO] [stderr]     Checking opentelemetry-http v0.31.0
[INFO] [stderr]     Checking tonic-prost v0.14.2
[INFO] [stderr]     Checking opentelemetry-proto v0.31.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.31.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking protosocket v1.1.0 (/opt/rustwide/workdir/protosocket-connection)
[INFO] [stderr]    Migrating protosocket-connection/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed protosocket-connection/src/connection.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> protosocket-connection/src/socket_listener.rs:182:19
[INFO] [stdout]     |
[INFO] [stdout] 182 |               match self.listener.poll_accept(context) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 185 | /                     self.in_flight_connections
[INFO] [stdout] 186 | |                         .spawn(async move { (accept.await, address) });
[INFO] [stdout]     | |                                                                      -
[INFO] [stdout]     | |                                                                      |
[INFO] [stdout]     | |______________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 194 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Drop for AbortHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> protosocket-connection/src/socket_listener.rs:182:19
[INFO] [stdout]     |
[INFO] [stdout] 182 |               match self.listener.poll_accept(context) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 185 | /                     self.in_flight_connections
[INFO] [stdout] 186 | |                         .spawn(async move { (accept.await, address) });
[INFO] [stdout]     | |                                                                      -
[INFO] [stdout]     | |                                                                      |
[INFO] [stdout]     | |______________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 194 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Drop for AbortHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking protosocket-server v1.1.0 (/opt/rustwide/workdir/protosocket-server)
[INFO] [stderr]     Checking protosocket-rpc v1.1.0 (/opt/rustwide/workdir/protosocket-rpc)
[INFO] [stderr]     Checking protosocket-prost v1.1.0 (/opt/rustwide/workdir/protosocket-prost)
[INFO] [stderr]     Checking protosocket-messagepack v1.1.0 (/opt/rustwide/workdir/protosocket-messagepack)
[INFO] [stderr]    Migrating protosocket-server/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking example v0.1.0 (/opt/rustwide/workdir/example-telnet)
[INFO] [stderr]    Migrating protosocket-rpc/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking example-pool v0.1.0 (/opt/rustwide/workdir/example-pool)
[INFO] [stderr]        Fixed protosocket-rpc/src/client/reactor/completion_reactor.rs (1 fix)
[INFO] [stdout] warning: `impl futures::Future<Output = ()>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:37:70
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn unary(self, unary_rpc: impl Future<Output = Response>) -> impl Future<Output = ()> {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a, Response> RpcResponder<'a, Response>
[INFO] [stdout]    |      ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:37:35
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn unary(self, unary_rpc: impl Future<Output = Response>) -> impl Future<Output = ()> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 37 -     pub fn unary(self, unary_rpc: impl Future<Output = Response>) -> impl Future<Output = ()> {
[INFO] [stdout] 37 +     pub fn unary<T: Future<Output = Response>>(self, unary_rpc: T) -> impl Future<Output = ()> + use<Response, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating protosocket-prost/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: `impl futures::Future<Output = ()>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 |     ) -> impl Future<Output = ()> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a, Response> RpcResponder<'a, Response>
[INFO] [stdout]    |      ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 |         streaming_rpc: impl futures::Stream<Item = Response>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~     pub fn stream<T: futures::Stream<Item = Response>>(
[INFO] [stdout] 45 |         self,
[INFO] [stdout] 46 ~         streaming_rpc: T,
[INFO] [stdout] 47 ~     ) -> impl Future<Output = ()> + use<Response, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed protosocket-rpc/src/server/rpc_submitter.rs (1 fix)
[INFO] [stderr]    Migrating protosocket-messagepack/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking example-proto-tls v0.1.0 (/opt/rustwide/workdir/example-proto-tls)
[INFO] [stderr]     Checking example-proto v0.1.0 (/opt/rustwide/workdir/example-proto)
[INFO] [stderr]     Checking example-proto-stream v0.1.0 (/opt/rustwide/workdir/example-proto-stream)
[INFO] [stderr]    Migrating protosocket-connection/examples/custom_allocator.rs from 2021 edition to 2024
[INFO] [stderr]     Checking example-messagepack v0.1.0 (/opt/rustwide/workdir/example-messagepack)
[INFO] [stdout] warning: `impl futures::Future<Output = ()>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:37:70
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn unary(self, unary_rpc: impl Future<Output = Response>) -> impl Future<Output = ()> {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a, Response> RpcResponder<'a, Response>
[INFO] [stdout]    |      ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:37:35
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn unary(self, unary_rpc: impl Future<Output = Response>) -> impl Future<Output = ()> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 37 -     pub fn unary(self, unary_rpc: impl Future<Output = Response>) -> impl Future<Output = ()> {
[INFO] [stdout] 37 +     pub fn unary<T: Future<Output = Response>>(self, unary_rpc: T) -> impl Future<Output = ()> + use<Response, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating example-telnet/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: `impl futures::Future<Output = ()>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 |     ) -> impl Future<Output = ()> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a, Response> RpcResponder<'a, Response>
[INFO] [stdout]    |      ^^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> protosocket-rpc/src/server/rpc_responder.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 |         streaming_rpc: impl futures::Stream<Item = Response>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~     pub fn stream<T: futures::Stream<Item = Response>>(
[INFO] [stdout] 45 |         self,
[INFO] [stdout] 46 ~         streaming_rpc: T,
[INFO] [stdout] 47 ~     ) -> impl Future<Output = ()> + use<Response, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating example-pool/src/server.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating example-proto-tls/src/server.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating example-proto-tls/src/client.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating example-proto/src/client.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-proto-tls/src/client.rs:161:19
[INFO] [stdout]      |
[INFO] [stdout]  142 |           let permit = tokio::select! {
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  143 | |             permit = concurrency_limit
[INFO] [stdout]  144 | |             .clone()
[INFO] [stdout]  145 | |             .acquire_owned() => {
[INFO] [stdout] ...    |
[INFO] [stdout]  158 | |         };
[INFO] [stdout]      | |         -
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         `output` calls a custom destructor
[INFO] [stdout]      | |         `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures_init` calls a custom destructor
[INFO] [stdout]      | |         `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures` calls a custom destructor
[INFO] [stdout]      | |         `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  161 |               match client.send_unary(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  162 | |                 request_id: i,
[INFO] [stdout]  163 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  164 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  171 | |                 response_behavior: ResponseBehavior::Unary as i32,
[INFO] [stdout]  172 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  192 | |         } else {
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-proto-tls/src/client.rs:194:19
[INFO] [stdout]      |
[INFO] [stdout]  142 |           let permit = tokio::select! {
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  143 | |             permit = concurrency_limit
[INFO] [stdout]  144 | |             .clone()
[INFO] [stdout]  145 | |             .acquire_owned() => {
[INFO] [stdout] ...    |
[INFO] [stdout]  158 | |         };
[INFO] [stdout]      | |         -
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         `output` calls a custom destructor
[INFO] [stdout]      | |         `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures_init` calls a custom destructor
[INFO] [stdout]      | |         `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures` calls a custom destructor
[INFO] [stdout]      | |         `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  194 |               match client.send_streaming(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  195 | |                 request_id: i,
[INFO] [stdout]  196 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  197 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  204 | |                 response_behavior: ResponseBehavior::Stream as i32,
[INFO] [stdout]  205 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  227 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating example-proto/src/server.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-proto/src/client.rs:144:15
[INFO] [stdout]      |
[INFO] [stdout]  144 |           match client.send_unary(Request {
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  145 | |             request_id: i,
[INFO] [stdout]  146 | |             code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  147 | |             body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  154 | |             response_behavior: ResponseBehavior::Unary as i32,
[INFO] [stdout]  155 | |         }) {
[INFO] [stdout]      | |          ^
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  162 |                   let response = completion.await.expect("response must be successful");
[INFO] [stdout]      |                                  ----------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  171 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: `example-proto-stream/src/server.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] 
[INFO] [stderr] If you are trying to migrate from the previous edition (2021), the
[INFO] [stderr] process requires following these steps:
[INFO] [stderr] 
[INFO] [stderr] 1. Start with `edition = "2021"` in `Cargo.toml`
[INFO] [stderr] 2. Run `cargo fix --edition`
[INFO] [stderr] 3. Modify `Cargo.toml` to set `edition = "2024"`
[INFO] [stderr] 4. Run `cargo build` or `cargo test` to verify the fixes worked
[INFO] [stderr] 
[INFO] [stderr] More details may be found at
[INFO] [stderr] https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html
[INFO] [stderr] 
[INFO] [stderr] warning: `example-proto-stream/src/client.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-proto-tls/src/client.rs:161:19
[INFO] [stdout]      |
[INFO] [stdout]  142 |           let permit = tokio::select! {
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  143 | |             permit = concurrency_limit
[INFO] [stdout]  144 | |             .clone()
[INFO] [stdout]  145 | |             .acquire_owned() => {
[INFO] [stdout] ...    |
[INFO] [stdout]  158 | |         };
[INFO] [stdout]      | |         -
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         `output` calls a custom destructor
[INFO] [stdout]      | |         `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures_init` calls a custom destructor
[INFO] [stdout]      | |         `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures` calls a custom destructor
[INFO] [stdout]      | |         `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  161 |               match client.send_unary(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  162 | |                 request_id: i,
[INFO] [stdout]  163 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  164 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  171 | |                 response_behavior: ResponseBehavior::Unary as i32,
[INFO] [stdout]  172 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  192 | |         } else {
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-proto-tls/src/client.rs:194:19
[INFO] [stdout]      |
[INFO] [stdout]  142 |           let permit = tokio::select! {
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  143 | |             permit = concurrency_limit
[INFO] [stdout]  144 | |             .clone()
[INFO] [stdout]  145 | |             .acquire_owned() => {
[INFO] [stdout] ...    |
[INFO] [stdout]  158 | |         };
[INFO] [stdout]      | |         -
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         `output` calls a custom destructor
[INFO] [stdout]      | |         `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures_init` calls a custom destructor
[INFO] [stdout]      | |         `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |         `futures` calls a custom destructor
[INFO] [stdout]      | |         `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  194 |               match client.send_streaming(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  195 | |                 request_id: i,
[INFO] [stdout]  196 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  197 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  204 | |                 response_behavior: ResponseBehavior::Stream as i32,
[INFO] [stdout]  205 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  227 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating example-messagepack/src/server.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating example-messagepack/src/client.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-messagepack/src/client.rs:137:19
[INFO] [stdout]      |
[INFO] [stdout]  131 |           let permit = concurrent_count
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  132 | |             .clone()
[INFO] [stdout]  133 | |             .acquire_owned()
[INFO] [stdout]  134 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  137 |               match client.send_unary(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  138 | |                 request_id: i,
[INFO] [stdout]  139 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  140 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  147 | |                 response_behavior: ResponseBehavior::Unary,
[INFO] [stdout]  148 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  153 | /                     tokio::spawn(async move {
[INFO] [stdout]  154 | |                         let response = completion.await.expect("response must be successful");
[INFO] [stdout]  155 | |                         handle_response(response, metrics_count, metrics_latency);
[INFO] [stdout]  156 | |                         drop(permit);
[INFO] [stdout]  157 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  164 | |         } else {
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  181 | /                     tokio::spawn(async move {
[INFO] [stdout]  182 | |                         while let Some(Ok(response)) = completion.next().await {
[INFO] [stdout]  183 | |                             handle_stream_response(
[INFO] [stdout]  184 | |                                 response,
[INFO] [stdout] ...    |
[INFO] [stdout]  189 | |                         drop(permit);
[INFO] [stdout]  190 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-messagepack/src/client.rs:165:19
[INFO] [stdout]      |
[INFO] [stdout]  131 |           let permit = concurrent_count
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  132 | |             .clone()
[INFO] [stdout]  133 | |             .acquire_owned()
[INFO] [stdout]  134 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  153 | /                     tokio::spawn(async move {
[INFO] [stdout]  154 | |                         let response = completion.await.expect("response must be successful");
[INFO] [stdout]  155 | |                         handle_response(response, metrics_count, metrics_latency);
[INFO] [stdout]  156 | |                         drop(permit);
[INFO] [stdout]  157 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  165 |               match client.send_streaming(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  166 | |                 request_id: i,
[INFO] [stdout]  167 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  168 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  175 | |                 response_behavior: ResponseBehavior::Stream,
[INFO] [stdout]  176 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  181 | /                     tokio::spawn(async move {
[INFO] [stdout]  182 | |                         while let Some(Ok(response)) = completion.next().await {
[INFO] [stdout]  183 | |                             handle_stream_response(
[INFO] [stdout]  184 | |                                 response,
[INFO] [stdout] ...    |
[INFO] [stdout]  189 | |                         drop(permit);
[INFO] [stdout]  190 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-messagepack/src/client.rs:137:19
[INFO] [stdout]      |
[INFO] [stdout]  131 |           let permit = concurrent_count
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  132 | |             .clone()
[INFO] [stdout]  133 | |             .acquire_owned()
[INFO] [stdout]  134 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  137 |               match client.send_unary(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  138 | |                 request_id: i,
[INFO] [stdout]  139 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  140 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  147 | |                 response_behavior: ResponseBehavior::Unary,
[INFO] [stdout]  148 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  153 | /                     tokio::spawn(async move {
[INFO] [stdout]  154 | |                         let response = completion.await.expect("response must be successful");
[INFO] [stdout]  155 | |                         handle_response(response, metrics_count, metrics_latency);
[INFO] [stdout]  156 | |                         drop(permit);
[INFO] [stdout]  157 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  164 | |         } else {
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  181 | /                     tokio::spawn(async move {
[INFO] [stdout]  182 | |                         while let Some(Ok(response)) = completion.next().await {
[INFO] [stdout]  183 | |                             handle_stream_response(
[INFO] [stdout]  184 | |                                 response,
[INFO] [stdout] ...    |
[INFO] [stdout]  189 | |                         drop(permit);
[INFO] [stdout]  190 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-messagepack/src/client.rs:165:19
[INFO] [stdout]      |
[INFO] [stdout]  131 |           let permit = concurrent_count
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  132 | |             .clone()
[INFO] [stdout]  133 | |             .acquire_owned()
[INFO] [stdout]  134 | |             .await
[INFO] [stdout]      | |              -----
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  153 | /                     tokio::spawn(async move {
[INFO] [stdout]  154 | |                         let response = completion.await.expect("response must be successful");
[INFO] [stdout]  155 | |                         handle_response(response, metrics_count, metrics_latency);
[INFO] [stdout]  156 | |                         drop(permit);
[INFO] [stdout]  157 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  165 |               match client.send_streaming(Request {
[INFO] [stdout]      |  ___________________^
[INFO] [stdout]      | |___________________|
[INFO] [stdout]  166 | |                 request_id: i,
[INFO] [stdout]  167 | |                 code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  168 | |                 body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  175 | |                 response_behavior: ResponseBehavior::Stream,
[INFO] [stdout]  176 | |             }) {
[INFO] [stdout]      | |              ^
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  181 | /                     tokio::spawn(async move {
[INFO] [stdout]  182 | |                         while let Some(Ok(response)) = completion.next().await {
[INFO] [stdout]  183 | |                             handle_stream_response(
[INFO] [stdout]  184 | |                                 response,
[INFO] [stdout] ...    |
[INFO] [stdout]  189 | |                         drop(permit);
[INFO] [stdout]  190 | |                     });
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/join.rs:354:1
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> example-proto/src/client.rs:144:15
[INFO] [stdout]      |
[INFO] [stdout]  144 |           match client.send_unary(Request {
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  145 | |             request_id: i,
[INFO] [stdout]  146 | |             code: ProtosocketControlCode::Normal as u32,
[INFO] [stdout]  147 | |             body: Some(EchoRequest {
[INFO] [stdout] ...    |
[INFO] [stdout]  154 | |             response_behavior: ResponseBehavior::Unary as i32,
[INFO] [stdout]  155 | |         }) {
[INFO] [stdout]      | |          ^
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  162 |                   let response = completion.await.expect("response must be successful");
[INFO] [stdout]      |                                  ----------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  171 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> protosocket-rpc/src/client/reactor/completion_registry.rs:67:1
[INFO] [stdout]      |
[INFO] [stdout]   67 | / impl<Inbound, Outbound> Drop for CompletionGuard<Inbound, Outbound>
[INFO] [stdout]   68 | | where
[INFO] [stdout]   69 | |     Inbound: Message,
[INFO] [stdout]   70 | |     Outbound: Message,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/sync/oneshot.rs:1218:1
[INFO] [stdout]      |
[INFO] [stdout] 1218 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] [stderr] crater-edition-check: benchmarks v1.1.0 (/opt/rustwide/workdir/benchmarks) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: spillway v1.1.0 (/opt/rustwide/workdir/spillway) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: example-messagepack v0.1.0 (/opt/rustwide/workdir/example-messagepack) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: protosocket v1.1.0 (/opt/rustwide/workdir/protosocket-connection) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: protosocket-messagepack v1.1.0 (/opt/rustwide/workdir/protosocket-messagepack) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: protosocket-rpc v1.1.0 (/opt/rustwide/workdir/protosocket-rpc) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: level-runtime v1.1.0 (/opt/rustwide/workdir/level-runtime) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: example-pool v0.1.0 (/opt/rustwide/workdir/example-pool) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: protosocket-server v1.1.0 (/opt/rustwide/workdir/protosocket-server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: example-proto v0.1.0 (/opt/rustwide/workdir/example-proto) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: protosocket-prost v1.1.0 (/opt/rustwide/workdir/protosocket-prost) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: example-proto-stream v0.1.0 (/opt/rustwide/workdir/example-proto-stream) updating edition from 2024 to 2024
[INFO] [stderr] crater-edition-check: example-proto-tls v0.1.0 (/opt/rustwide/workdir/example-proto-tls) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: example v0.1.0 (/opt/rustwide/workdir/example-telnet) updating edition from 2021 to 2024
[INFO] [stderr]     Checking spillway v1.1.0 (/opt/rustwide/workdir/spillway)
[INFO] [stderr]     Checking level-runtime v1.1.0 (/opt/rustwide/workdir/level-runtime)
[INFO] [stderr]     Checking benchmarks v1.1.0 (/opt/rustwide/workdir/benchmarks)
[INFO] [stderr]     Checking protosocket v1.1.0 (/opt/rustwide/workdir/protosocket-connection)
[INFO] [stderr]     Checking protosocket-server v1.1.0 (/opt/rustwide/workdir/protosocket-server)
[INFO] [stderr]     Checking protosocket-rpc v1.1.0 (/opt/rustwide/workdir/protosocket-rpc)
[INFO] [stderr]     Checking protosocket-prost v1.1.0 (/opt/rustwide/workdir/protosocket-prost)
[INFO] [stderr]     Checking protosocket-messagepack v1.1.0 (/opt/rustwide/workdir/protosocket-messagepack)
[INFO] [stderr]     Checking example-pool v0.1.0 (/opt/rustwide/workdir/example-pool)
[INFO] [stderr]     Checking example v0.1.0 (/opt/rustwide/workdir/example-telnet)
[INFO] [stderr]     Checking example-proto-stream v0.1.0 (/opt/rustwide/workdir/example-proto-stream)
[INFO] [stderr]     Checking example-proto-tls v0.1.0 (/opt/rustwide/workdir/example-proto-tls)
[INFO] [stderr]     Checking example-messagepack v0.1.0 (/opt/rustwide/workdir/example-messagepack)
[INFO] [stderr]     Checking example-proto v0.1.0 (/opt/rustwide/workdir/example-proto)
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-proto-tls/src/server.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |         responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 136 |                     tokio::spawn(responder.stream(echo_stream(request_id, echo)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `responder` escapes the method body here
[INFO] [stdout]     |                     argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-proto/src/server.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |         responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 111 |                     tokio::spawn(responder.stream(echo_stream(request_id, echo)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `responder` escapes the method body here
[INFO] [stdout]     |                     argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-proto/src/server.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |         responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 111 |                     tokio::spawn(responder.stream(echo_stream(request_id, echo)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `responder` escapes the method body here
[INFO] [stdout]     |                     argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-proto-tls` (bin "server-stream-tls" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-proto-stream/src/server.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |           responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |           ---------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |           has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 119 | /                     self.streams
[INFO] [stdout] 120 | |                         .push(responder.stream(echo_stream(request_id, echo)).boxed());
[INFO] [stdout]     | |                                                                                      ^
[INFO] [stdout]     | |                                                                                      |
[INFO] [stdout]     | |______________________________________________________________________________________`responder` escapes the method body here
[INFO] [stdout]     |                                                                                        argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout]     = note: requirement occurs because of the type `FuturesUnordered<Pin<Box<dyn futures::Future<Output = ()> + std::marker::Send>>>`, which makes the generic argument `Pin<Box<dyn futures::Future<Output = ()> + std::marker::Send>>` invariant
[INFO] [stdout]     = note: the struct `FuturesUnordered<Fut>` is invariant over the parameter `Fut`
[INFO] [stdout]     = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-proto-stream` (bin "server-stream-proto" test) due to 1 previous error
[INFO] [stderr] error: could not compile `example-proto` (bin "example-proto-server") due to 1 previous error
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-proto-stream/src/server.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |           responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |           ---------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |           has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 119 | /                     self.streams
[INFO] [stdout] 120 | |                         .push(responder.stream(echo_stream(request_id, echo)).boxed());
[INFO] [stdout]     | |                                                                                      ^
[INFO] [stdout]     | |                                                                                      |
[INFO] [stdout]     | |______________________________________________________________________________________`responder` escapes the method body here
[INFO] [stdout]     |                                                                                        argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout]     = note: requirement occurs because of the type `FuturesUnordered<Pin<Box<dyn futures::Future<Output = ()> + std::marker::Send>>>`, which makes the generic argument `Pin<Box<dyn futures::Future<Output = ()> + std::marker::Send>>` invariant
[INFO] [stdout]     = note: the struct `FuturesUnordered<Fut>` is invariant over the parameter `Fut`
[INFO] [stdout]     = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-proto` (bin "example-proto-server" test) due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-messagepack/src/server.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout]  91 |         responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 102 |                     tokio::spawn(responder.stream(echo_stream(request_id, echo)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `responder` escapes the method body here
[INFO] [stdout]     |                     argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-proto-stream` (bin "server-stream-proto") due to 1 previous error
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-proto-tls/src/server.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |         responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 136 |                     tokio::spawn(responder.stream(echo_stream(request_id, echo)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `responder` escapes the method body here
[INFO] [stdout]     |                     argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-messagepack` (bin "server-messagepack") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> example-messagepack/src/server.rs:102:21
[INFO] [stdout]     |
[INFO] [stdout]  91 |         responder: RpcResponder<'_, Self::Response>,
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `responder` is a reference that is only valid in the method body
[INFO] [stdout]     |         has type `RpcResponder<'1, <DemoRpcConnectionServer as ConnectionService>::Response>`
[INFO] [stdout] ...
[INFO] [stdout] 102 |                     tokio::spawn(responder.stream(echo_stream(request_id, echo)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `responder` escapes the method body here
[INFO] [stdout]     |                     argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-proto-tls` (bin "server-stream-tls") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0521`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `example-messagepack` (bin "server-messagepack" test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df", kill_on_drop: false }`
[INFO] [stdout] d01aa8747de065df6863b08ca9017ef2d1c6006756b94fad02ff1d5dc367c3df
